Example: Creating and saving a Target list
// Shows an example of creating and saving a target list
// All steps are compulsory and should be in this order
<!-- #include file ="sagecrm.js" -->
<%
TargetBlock = CRM.TargetLists; // Get the TargetBlock COM Object from the CRM base object
TargetBlock.TargetListID = 0; // Set the ID to zero, to indicate a new target list
TargetBlock.Category = "Person"; // Set the category. Other valid categories are Company and Lead
TargetBlock.Name = "COM List 1"; // Set the name of the target list, should be unique
TargetBlock.IsNewGroupFromFind = true; // Set the target list to be a group rather than a saved search
TargetBlock.GroupAccessLevel = 0; // Enable all users to access the group
TargetBlock.IsFixedGroup = false; // Specify that the group is dynamic
TargetBlock.ViewName = "vTargetListPerson"; // Set the view to be used
TargetBlock.WhereClause = "Addr_City = N'London'"; // If required, specify a where clause.
// You must specify at least one display field. All fields must be returned by the view.
TargetField = TargetBlock.Fields.New(); // Create a new display field
TargetField.DataField = "Comp_Name"; // Specify its database fieldname
TargetField = TargetBlock.Fields.New(); // Create a second display name, optional
TargetField.DataField = "Pers_LastName";
TargetField = TargetBlock.Fields.New(); // Create a third display field, optional
TargetField.DataField = "Pers_FirstName";
// Add more fields as desired. You may add order by fields to sort the target list
TargetField = TargetBlock.OrderByFields.New(); // Create a new order by field
TargetField.DataField = "Pers_LastName"; // Specify its database fieldname
TargetQuery = TargetBlock.Retrieve(); // Create and return the target list based on the above settings
// This demonstrates cycling through the returned targets, and setting every tenth target to be excluded
while (!TargetQuery.EOF)
{
I = 1;
while ((!TargetQuery.EOF) && (I < 10))
{
TargetQuery.Next();
I++;
}
if (!TargetQuery.EOF)
{
j = TargetQuery.FieldValue("Pers_PersonID");
TargetBlock.Exclude(j);
}
}
// For the moment, we always return to the Actions page whether successful or not.
// 580 is the action number to go back to the target list browser page
// 585 is the action number to go back to the target list actions page
if (TargetBlock.Save()) // Save the target list
{
Response.Redirect(CRM.URL(580));
}
else
{
Response.Redirect(CRM.URL(580));
}
%>